home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / ForCLI / 0Utils13.lha / 0Utils / .c.Template next >
Text File  |  1995-03-20  |  3KB  |  124 lines

  1.  
  2. /******************************************************************************
  3.  
  4.     MODULE
  5.     $(NAME).c
  6.  
  7.     DESCRIPTION
  8.  
  9.  
  10.     NOTES
  11.     Kickstart 2.0+ required
  12.     compiles w/ SAS/C v6.51
  13.  
  14.     BUGS
  15.     none known
  16.  
  17.     TODO
  18.  
  19.     EXAMPLES
  20.  
  21.     SEE ALSO
  22.  
  23.     INDEX
  24.  
  25.     HISTORY
  26.     (12-02-95 b_noll T created .c.Template)
  27.     (20-02-95 b_noll T added includes section)
  28.     (21-02-95 b_noll T added version/format-prefix/offset)
  29.     (20-03-95 b_noll T added args diagnostics)
  30.     $(DATE) b_noll created
  31.  
  32.     AUTHOR
  33.     Bernd Noll, Brunnenstrasse 55, D-67661 Kaiserslautern
  34.     b_noll@informatik.uni-kl.de
  35.  
  36. ******************************************************************************/
  37.  
  38. /**************************************
  39.         Includes
  40. **************************************/
  41.  
  42. #ifndef   EXEC_LIBRARIES_H
  43. # include <exec/libraries.h>
  44. #endif /* EXEC_LIBRARIES_H */
  45.  
  46. #ifndef   CLIB_EXEC_PROTOS_H
  47. # include <clib/exec_protos.h>
  48. #endif /* CLIB_EXEC_PROTOS_H */
  49.  
  50. #ifndef   DOS_DOS_H
  51. # include <dos/dos.h>
  52. #endif /* DOS_DOS_H */
  53.  
  54. #ifndef   CLIB_DOS_PROTOS_H
  55. # include <clib/dos_protos.h>
  56. #endif /* CLIB_DOS_PROTOS_H */
  57.  
  58. #include <proto/dos.h>
  59. #include <proto/exec.h>
  60.  
  61. /* ******************** USER INCLUDES ******************** */
  62.  
  63.  
  64. /* ******************** USER INCLUDES ******************** */
  65.  
  66. /**************************************
  67.      Defines & Structures
  68. **************************************/
  69.  
  70. struct _arg {
  71. /* ******************** USER FORMAT ******************** */
  72. #define FORMAT "$(FORMAT)"
  73.  
  74.  
  75.  
  76. /* ******************** USER FORMAT ******************** */
  77. }; /* struct _argv */
  78.  
  79. #define MAXPATHLEN 256
  80. #define MAXLINELEN 256
  81.  
  82. #define VERSIONPREFIX    "$VER: "
  83. #define VERSIONOFFSET    0
  84. #define FORMATPREFIX    "$ARG: "
  85. #define FORMATOFFSET    6
  86.  
  87. /**************************************
  88.         Implementation
  89. **************************************/
  90.  
  91. long _main (void)
  92. {
  93.     const char* version = VERSIONPREFIX "$(NAME) 1.0 " __AMIGADATE__ + VERSIONOFFSET;
  94.     long retval = RETURN_FAIL;
  95.     struct Library* SysBase = *((struct Library**)4L);
  96.     struct Library* DOSBase;
  97.  
  98.     if (DOSBase = OpenLibrary (DOSNAME, 37)) {
  99.     struct _arg argv = { 0 };
  100.     APTR   args;
  101.     retval     = RETURN_ERROR;
  102.     if (args = (void*)ReadArgs(FORMATPREFIX FORMAT + FORMATOFFSET, (LONG*)&argv, NULL)) {
  103.  
  104.         retval = RETURN_OK;
  105. /* ******************** USER BODY ******************** */
  106.  
  107.  
  108. /* ******************** USER BODY ******************** */
  109.         FreeArgs (args);
  110.     } /* if */
  111.  
  112.     if (retval > RETURN_WARN)
  113.         PrintFault(IoErr(), "$(NAME)");
  114.  
  115.     CloseLibrary (DOSBase);
  116.     } /* if */
  117.     return (retval);
  118. } /* _main */
  119.  
  120. /******************************************************************************
  121. *****  END $(NAME).c
  122. ******************************************************************************/
  123.  
  124.